#include "itemdata.h"
#include <QDateTime>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonParseError>
#include <QDebug>

ItemData::ItemData(QObject *parent) : QObject(parent)
{
    QDateTime time =QDateTime::currentDateTime();
    this->datetime=time.toString("yyyy-MM-dd hh:mm:ss");
}

QString ItemData::jsonString(){
    QJsonObject json;
    json.insert("id",this->id);
    json.insert("index",this->index);
    json.insert("itemname",this->itemname);
    json.insert("product",this->product);
    json.insert("sample",this->sample);
    json.insert("number",this->number);
    json.insert("tolerance",this->tolerance);
    json.insert("istolerance",this->istolerance);
    json.insert("datetime",this->datetime);
    json.insert("value",this->value);
    json.insert("precision",this->precision);

    QJsonDocument doc;
    doc.setObject(json);

    QByteArray ba =doc.toJson(QJsonDocument::Compact);
    QString dstr(ba);
    return  dstr;
}
bool ItemData::setJsonString(QString data){
    QJsonParseError parseJsonerr;
    QJsonDocument doc = QJsonDocument::fromJson(data.toUtf8(),&parseJsonerr);
    if(parseJsonerr.error!=QJsonParseError::NoError){
         qDebug()<<"解析错误:"<<data;
        return false;
    }
    QJsonObject json =doc.object();
    this->id= json["id"].toInt();
     this->index= json["index"].toInt();
     this->itemname= json["itemname"].toString();
     this->product= json["product"].toString();
     this->sample= json["sample"].toString();
     this->number= json["number"].toInt();
     this->tolerance= json["tolerance"].toDouble();
     this->istolerance= json["istolerance"].toBool();
     this->datetime= json["datetime"].toString();
     this->value= json["value"].toDouble();
    this->precision= json["precision"].toInt();

    return true;
}
